/**
 * 
 */
package mobi.richaze.llbag.domain.shared;

import java.io.Serializable;
import java.util.List;

/**
 * @author Richaze Chou
 * 
 */
public interface BaseRepository<E> {
	/**
	 * 根据唯一标识符获取实体对象
	 * 
	 * @param id
	 * @return
	 */
	public E getEntity(Serializable id);

	/**
	 * 获取实体对象
	 * 
	 * @return
	 */
	public List<E> getAllEntity();

	/**
	 * 保存实体对象
	 * 
	 * @param entity
	 */
	public Serializable saveEntity(E entity);

	/**
	 * 删除指定唯一标识符的实体对象
	 * 
	 * @param id
	 */
	public void removeEntity(Serializable id);

	/**
	 * 更新实体对象
	 * 
	 * @param entity
	 */
	public void updateEntity(E entity);
}
